草庐IT

java midi 延迟

全部标签

java - JPA:EntityManager 的get-use-close 和延迟加载

IBM建议使用EntityManagers的最佳实践是获取/使用/关闭。如果EntityManager没有关闭,同一个EntityManager可能被多个线程使用,这将导致以下错误:org.apache.openjpa.persistence.PersistenceException:Multipleconcurrentthreadsattemptedtoaccessasinglebroker.Bydefaultbrokersarenotthreadsafe;ifyourequireand/orintendabrokertobeaccessedbymorethanonethread,s

java - 其他线程中的忙循环延迟了 EDT 处理

我有一个Java程序,它在一个单独的(非EDT)线程上执行一个紧密循环。虽然我认为SwingUI应该仍然是响应式的,但事实并非如此。下面的示例程序展示了这个问题:单击“试试我”按钮应该会在大约半秒后弹出一个对话框,并且应该可以通过单击它的任何响应立即关闭该对话框。相反,对话框需要更长的时间才能出现,和/或在单击其中一个按钮后需要很长时间才能关闭。问题出现在Linux(两台具有不同发行版的不同机器)、Windows、RaspberryPi(仅限服务器VM)和MacOSX(由另一位SO用户报告)上。Java版本1.8.0_65和1.8.0_72(都试过了)具有多核的i7处理器。EDT应该有

Java SimpleDateFormat 解析结果延迟一小时(是的,我设置了时区)

给我一​​个谜:为什么这个简单的JUnit断言会失败?publicvoidtestParseDate()throwsParseException{finalSimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-ddHH:mm:ssz");formatter.setTimeZone(UTC);finalCalendarc=newGregorianCalendar();c.setTime(formatter.parse("2013-03-0211:59:59UTC"));assertEquals(11,c.get(HOUR_OF_DA

java - 为什么 JVM 在繁忙的自旋暂停后显示相同代码块的更多延迟?

下面的代码演示了问题明确,即:Theexactsameblockofcodebecomesslowerafterabusyspinpause.请注意,我当然没有使用Thread.sleep.另请注意,没有条件导致HotSpot/JIT去优化,因为我正在使用数学运算而不是IF更改暂停。.有一个我想要计时的数学运算block。首先,我在开始测量之前对block暂停1纳秒进行计时。我这样做了20,000次。然后我将暂停从1纳秒更改为5秒,并像往常一样继续测量延迟。我这样做了15次。然后我打印最后30个测量值,因此您可以看到15个测量值的暂停时间为1纳秒,以及15个测量值的暂停时间为5秒。正如

java - JPA2/Hibernate - 停止延迟加载?

我遇到了一个问题,JPA在我不想要的时候试图延迟加载我的数据。本质上发生的事情是我正在使用一个服务来检索一些数据,当我将该数据解析为JSON时,JSON库触发hibernate以尝试延迟加载数据。有什么办法可以阻止这种情况吗?我在下面给出了一个例子。//WebControllermethodpublicStringgetEmployeesByQuery(Stringquery){Gsongson=newGson();Listemployees=employeeService.findEmployeesByQuery(query);//Hereiswheretheproblemisocc

java - 重新初始化 ScheduledExecutorService 中的修复延迟

根据我的要求,我必须在一段时间后执行一些特定的代码。为此,我选择了ScheduledExecutorService.scheduleWithFixedDelay(runnable,0,5,TimeUnit.SECONDS),它对我来说工作正常。但是根据我的另一个要求,fixedDelay中提到的时间应该是运行时可配置的。意思是,目前总延迟是5秒,但如果用户愿意,可以将延迟时间更改为60秒,并且在运行时fixedDelay将在60秒后运行。任何帮助将不胜感激。请看代码:staticinti=0;staticScheduledExecutorServiceexecutor;staticRu

java - 在 java 中延迟一段时间后调用方法

场景是这样的:在我的应用程序中,我打开了一个文件,更新并保存了它。一旦文件保存事件被触发,它将执行一个方法abc()。但是现在,我想在保存事件被触发后添加延迟,比如1分钟。所以我添加了Thread.sleep(60000)。现在它在1分钟后执行方法abc()。到目前为止一切正常。但是假设用户在1分钟内保存了3次文件,该方法每1分钟执行3次。我只想在第一次使用最新文件内容调用保存后的1分钟内执行一次方法。我该如何处理这种情况? 最佳答案 使用Timer和TimerTask在YourClassType中创建一个Timer类型的成员变量假

java - Stream API 不适用于 EclipseLink/Glassfish 中的延迟加载集合?

在我的一个Web服务中检测到缺陷后,我将错误追踪到以下单行:returnthis.getTemplate().getDomains().stream().anyMatch(domain->domain.getName().equals(name));当我确定域列表包含一个名称等于提供的name的域时,此行返回false。因此,在摸索了一会儿之后,我最终拆分了整条线以查看发生了什么。我在调试session中得到以下信息:请注意以下行:Listdomains2=domains.stream().collect(Collectors.toList());根据调试器,domains是一个包含两

java - Spring Data JPA - 在没有@Transactional 的情况下获取延迟加载的集合

我的期望是,当在事务范围内访问集合时,应该获取延迟加载的集合。例如,如果我想获取一个集合,我可以调用foo.getBars.size()。缺少Activity事务将导致异常并显示错误消息,如failedtolazilyinitializeacollectionofbars:....couldnotinitializeproxy-noSession但是,我注意到我最新的应用程序中的行为有所不同。我将SpringBoot1.5.1与“data-jpa”启动器一起使用。我过去使用过SpringBoot,但data-jpastarter对我来说是新的。考虑以下情况。我有一个延迟加载的ManyT

java - 延迟加载的单例 : Double-checked locking vs Initialization on demand holder idiom

我需要在并发环境中延迟加载资源。加载资源的代码应该只执行一次。两者都是Double-checkedlocking(使用JRE5+和volatile关键字)和Initializationondemandholderidiom似乎很适合这份工作。仅通过查看代码,按需初始化持有人惯用语似乎更清晰、更高效(但是,嘿,我在这里猜测)。尽管如此,我仍将不得不注意并记录我的每个单例的模式。至少对我来说,很难理解为什么当场写成这样的代码......我的问题是:哪种方法更好?为什么?如果你的答案是否定的。您将如何在JavaSE环境中满足这一要求?备选方案我可以为此使用CDI而不是将它强加于我的整个项目吗